Average of a Single Matrix along Rows
This is an example of computing the average of a single matrix input along the rows of the matrix.
from csdl_om import Simulatorfrom csdl import Modelimport csdlimport numpy as np
class ExampleSingleMatrixAlong1(Model):
def define(self): n = 3 m = 6
# Declare a matrix of shape 3x6 as input M1 = self.declare_variable( 'M1', val=np.arange(n * m).reshape((n, m)), )
# Output the axiswise average of matrix M1 along the columns self.register_output( 'single_matrix_average_along_1', csdl.average(M1, axes=(1, )), )
sim = Simulator(ExampleSingleMatrixAlong1())sim.run()
print('M1', sim['M1'].shape)print(sim['M1'])print('single_matrix_average_along_1', sim['single_matrix_average_along_1'].shape)print(sim['single_matrix_average_along_1'])
[[ 0. 1. 2. 3. 4. 5.] [ 6. 7. 8. 9. 10. 11.] [12. 13. 14. 15. 16. 17.]]single_matrix_average_along_1 (3,)[ 2.5 8.5 14.5]